﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BusinessObjects {
  /// <summary>
  /// Parent object
  /// </summary>
  public class Parent : Person {

    private ParentEmployer parentEmployer;
    private bool mainAddress;
    private decimal basicPrice;

    #region - Properties -

    /// <summary>
    /// Gets or sets a value indicating whether [main address].
    /// </summary>
    /// <value>
    ///   <c>true</c> if [main address]; otherwise, <c>false</c>.
    /// </value>
    public bool MainAddress {
      get { return mainAddress; }
      set { SetField( ref mainAddress, value, "MainAddress" ); }
    }

    /// <summary>
    /// Gets or sets the employer.
    /// </summary>
    /// <value>
    /// The employer.
    /// </value>
    public ParentEmployer Employer {
      get { return parentEmployer; }
      set { parentEmployer = value; }
    }


    /// <summary>
    /// Gets or sets the basic price.
    /// </summary>
    /// <value>
    /// The basic price.
    /// </value>
    public decimal BasicPrice {
      get { return basicPrice; }
      set { SetField( ref basicPrice, value, "BasicPrice" ); }
    }


    #endregion

    #region - Constructors -

    /// <summary>
    /// Initializes a new instance of the <see cref="Parent"/> class.
    /// </summary>
    public Parent( ) {
      parentEmployer = new ParentEmployer( );
      this.Address = new Address( );

    }

    /// <summary>
    /// Initializes a new instance of the <see cref="Parent"/> class.
    /// </summary>
    /// <param name="name">The name.</param>
    public Parent( string name )
      : this( ) {
      this.Name = name;
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="Parent"/> class.
    /// </summary>
    /// <param name="name">The name.</param>
    /// <param name="firstName">The first name.</param>
    /// <param name="phone">The phone.</param>
    /// <param name="gsm">The GSM.</param>
    /// <param name="email">The email.</param>
    /// <param name="nationalNumber">The national number.</param>
    /// <param name="address">The address.</param>
    /// <param name="employer">The employer.</param>
    public Parent( string name, string firstName, string phone, string gsm, string email,
      string nationalNumber, Address address, ParentEmployer employer )
      : this( name ) {
      this.FirstName = firstName;
      this.Phone = phone;
      this.Gsm = gsm;
      this.Email = email;
      this.Address = address;
      this.Employer = employer;
    }

    #endregion

  }
}
